home *** CD-ROM | disk | FTP | other *** search
/ Delphi Magazine Collection 2001 / Delphi Magazine Collection 20001 (2001).iso / DISKS / Issue25 / icmp / ICMP.ZIP / README.TXT < prev   
Encoding:
Text File  |  1997-07-03  |  4.6 KB  |  103 lines

  1. TICMP  (Version 0.2 of 1997-07-02)
  2.  
  3. ICMP (Internet Control Message Protocol) is the protocol for all the basic IP
  4. connectivity checks, host unreachable messages etc. There are two applications
  5. (used for network debugging mainly) which use the ICMP:
  6.   ping        to check wether a given host is alive
  7.   traceroute  to find the way the IP packets choose to reach a given host
  8.  
  9. This unit has both a ping and a traceroute component, to make it easy to
  10. create GUI applications like the ws_ping, but you can also create your own
  11. command line ping/traceroute with this components.
  12.  
  13. Installation is easy: just move the *.pas and *.dcr files into your component
  14. path and add the icmp.pas to your component library, you will then find a
  15. TPing and a TTraceRoute in the Internet tab.
  16.  
  17. To let the components start their action just call the action method (which
  18. can be run multiple times if you like), if you want to interrupt them you can
  19. call the terminate method. For an example usage see the two demo applications
  20. included.
  21.  
  22. The following properties can be set:
  23.  
  24. Timeout         The maximal time to wait for an answer for the issued ICMP
  25.                 packet  (both)
  26. Blocksize       The amount of junk data to be send together with the request
  27.                 (both)
  28. TimeToLive      maximum number of hosts allowed before the packet is resend as
  29.                 being undeliverable (both)
  30. Hostname        the host to be called, either the IP-address in the standard
  31.                 ###.###.###.### notation or a real hostname (both)
  32. ResolveHostname Give (if possible) the hostnames in the route list
  33.                 (traceroute)
  34.  
  35. OnPing          event raised once a ping packet comes back or is timed out
  36. OnRoute         event raised once a new host in the routing list answers
  37.                 (in both events the IP address given as a parameter is in
  38.                  network order, to convert it to a standard longint you need
  39.                  to convert it using the ntohl() function in winsock. I choose
  40.                  this as all the utility functions in ip_misc use network
  41.                  order, too)
  42.  
  43. The ping component has also the following read-only properties (reset with
  44. ResetStatistics)
  45. MinimumRoundttime  \
  46. MaximumRoundttime   } Little statistics on the times needed for the packets
  47. MeanRoundttime     /  (-1 means not available yet)
  48. ReceivedPackets       number of packets received successfully
  49.  
  50.  
  51. And the traceroute component has a Stringlist with the hostnames (or IP
  52. addresses depending on the ResolveHostname property) of the routers in the
  53. property Route.
  54.  
  55. With the action method either one Ping packet (to be correct it is a ICMP echo
  56. request packet) is sent, or the tracing of the route is started.
  57.  
  58.  
  59. There are two ways ICMP packets may be sent under Windows:
  60. -the standard socket way using raw sockets - this only works in NT4 in the
  61.  administrator account, and it doesn't allow setting the TimeToLive necessary
  62.  for the Traceroute. So only the ping component supports this yet, and as I
  63.  can't test it the socket mode for the traceroute isn't implemented yet.
  64. -Microsoft also provides a DLL for doing the ICMP calls needed for a ping or
  65.  traceroute, but warns this is only an intermediate way to provide this. For
  66.  more info on this DLL look at "http://www.sockets.com/ms_icmp.htm".
  67.  Both components use this DLL if available and the socket way doesn't work.
  68.  
  69. These two components are part of a larger set of internet components I'm
  70. working on; as long as the rest isn't ready they will be available
  71. independently and have a pre 1.0 version number. If you're interested in the
  72. current status of the whole internet package look at my homepage.
  73.  
  74.  
  75. Acknowledgements:
  76. I got nearly all the info I needed to build this application from
  77. http://www.sockets.com/ms_icmp.htm.
  78.  
  79.  
  80. If you spot any bug, have any idea how to improve, want to let me know what a
  81. great job I did :-), want to notify me of the use any part of this component
  82. for your own one, want to hear from me when I throw something into the public,
  83. or for any other reason, you can mail me:
  84.  
  85. ah@scp.de             (at work)
  86. andy@hoerstemeier.de  (at home)
  87. http://www.westend.de/~hoerstemeier
  88. snail mail: Andreas H"orstemeier
  89.             Mefferdatisstrasse 16-18
  90.             52062 Aachen
  91.             Germany
  92.  
  93. ["o means the umlaut o, that is an o with two dots above]
  94.  
  95.  
  96. This component is Public Domain, but if you want to send me money I won't
  97. complain :-) You are free to put this component on a CD-ROM, but if you do
  98. so please send me a copy. And of course only spread this component
  99. complete with all the readme's and sources.
  100.  
  101.  
  102. Andreas H"orstemeier
  103.